// pages/vehicle/vehicle.js
import { vehicle_add, vehicle_info,vehicle_remove } from "../../api/http"

Page({

  /**
   * 页面的初始数据
   */
  data: {
    isShow: false,
    vehicle_num:'',
    vehicle: {
      vehicle_phone: wx.getStorageSync('user_phone'),
      vehicle_owner: wx.getStorageSync('user_name')
    },
    arr: [

    ]
  },
  // 选择图片
  chooseImageFn() {
    // 记录当前函数的this 对象
    var _this = this;
    let vehicle = this.data.vehicle;
    // 调用小程序 选择照片的API
    wx.chooseMedia({
      count: 1, //照片的数量
      sourceType: ['album', 'camera'],
      success: function (res) {
        wx.showLoading({
          title: '正在识别...',
          icon:'none'
        })
        // 图片的路径
        // var src = res.tempFiles[0].path;
        var src = res.tempFiles[0].tempFilePath
        // 图片的大小
        var size = res.tempFiles[0].size;
        // 判断 图片不能超过1m
        if (size / (1024 * 1024) > 2) {
          // 提示图片过大
          wx.showToast({
            title: '照片过大了',
            icon: 'none'
          })
          return;
        }
        // 调用微信小程序的上传图片的API
        wx.uploadFile({
          url: 'http://localhost:3000/ocr/preview', //真实的接口地址
          filePath: src,
          name: 'img',
          success: function (res) {
            //  console.log(res.data);
             if(res.data){
               let data = JSON.parse(res.data);
               console.log(data)
               if(data.code == 200) {
                 if(data.result.length == 0) return false;
                 vehicle['vehicle_num'] =  data.result[0].words
                  _this.setData({vehicle})
               }
             }
              // 给data下的相关属性赋值
          },
          fail: function (err) {
            console.log(err)
          },
          complete:function(){
            wx.hideLoading();
          }
        })
      },
      fail: function (err) {
        console.log(err)
      },
     
    })
  },
  // 删除车辆信息
  async vehicle_removeFn(e){
    let vehicle_num = e.currentTarget.dataset.num;
     wx.showModal({
       title: '提示',
       content: '删除该车辆信息?',
       complete: async (res) => {
         if (res.cancel) {
           
         }
         if (res.confirm) {
          let token = wx.getStorageSync('token');
          if(!token) {
            wx.showToast({
              icon: 'none',
              title: '尚未登录哦~',
            })
            wx.showModal({
              title: '提示',
              content: '是否跳转登录~~',
              complete: (res) => {
                if (res.cancel) {
                  
                }
            
                if (res.confirm) {
                    wx.redirectTo({
                      url: '../login/login',
                    })
                }
              }
            })
            return false;
          }
          await vehicle_remove({token, vehicle_num}).then(
            content=>{
               console.log(content);
               let {code} = content;
               if(code == 200){
                    // 获取车辆信息
                    this.vehicle_infoFn();
               }
               
            }
          )
         }
       }
     })
  },
  // 获取表单信息
  getInputValue(e){
    let v = e.detail.value;
    let key = e.currentTarget.dataset.key;
    let vehicle = this.data.vehicle;
    // console.log(key,v)
    vehicle[key] = v;
    this.setData({vehicle});
  },
  // 获取车辆信息
  async vehicle_infoFn(){
    let token = wx.getStorageSync('token');
    if(!token) {
      wx.showToast({
        icon: 'none',
        title: '尚未登录哦~',
      })
      wx.showModal({
        title: '提示',
        content: '是否跳转登录~~',
        complete: (res) => {
          if (res.cancel) {
            
          }
      
          if (res.confirm) {
              wx.redirectTo({
                url: '../login/login',
              })
          }
        }
      })
      return false;
    }
    await vehicle_info({token}).then(
      content=>{
         console.log(content);
         let {code , data} = content;
         if(code == 200){
            this.setData({
              arr: data
          })
         }
         
      }
    )
  },
   // 调用添加车辆信息接口
   async  vehicle_addFn(){
    let token = wx.getStorageSync('token');
    if(!token) {
      wx.showToast({
        icon: 'none',
        title: '尚未登录哦~',
      })
      return false;
    }
    let {vehicle_num, vehicle_color, vehicle_owner, vehicle_phone, vehicle_type} = this.data.vehicle;
    if(!/^1[3-9]\d{9}$/.test(vehicle_phone)) {
      wx.showToast({
        icon: "none",
        title: '手机格式不正确!',
      })
      return false;
    }
    if(vehicle_num && vehicle_color && vehicle_owner && vehicle_phone){
        await vehicle_add({vehicle_num, vehicle_color, vehicle_owner, vehicle_phone, vehicle_type, token}).then(
            content=>{
              let {code,msg} = content;
              if(code == 200) {
                //  给用户反馈提示
                wx.showToast({
                  icon: "success",
                  title: msg,
                })
                 // 获取车辆信息
                this.vehicle_infoFn();
                // 关闭输入界面
                setTimeout(()=>{
                  this.setData({
                    isShow: false
                 })
                },500)
              }
              else {
              wx.showToast({
                icon: "error",
                title: msg,
              })
              }
            },
            err=>{
              console.log(err);
              wx.showToast({
              icon: "none",
              title: '服务端发生异常！',
            })
            }
        )
      }
      else {
        wx.showToast({
          icon: "none",
          title: '缺少参数,请填写完整',
        })
      }
  },
  showAddVehicle(){
    this.setData({
       isShow: true
    })
  },
   hideAddVehicle(){
    this.setData({
       isShow: false
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
      this.setData({
        vehicle: {
          vehicle_phone: wx.getStorageSync('user_phone'),
          vehicle_owner: wx.getStorageSync('user_name'),
          vehicle_type: "小车"
        }
      })

      // 获取车辆信息
      this.vehicle_infoFn();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})